﻿/// <reference path="../../../Scripts/typings/jquery/jquery.d.ts" />

import * as React from "react";
import * as electron  from 'electron'
import * as Css from '../../工具代码/Css加载'
import * as $ from 'jquery'
import R图标按钮 from '../展示组件/图标按钮'
import R文字按钮 from '../展示组件/文字按钮'

import {按钮类型, 按钮风格, 按钮尺寸} from './按钮常量'

Css.加载(module.filename)

export default class R按钮 extends React.Component<any, any> {
    constructor(props, ss) {
        super(props, ss)
        this.state = { 还原按钮图标: '' }
        this.state = { 最大化按钮图标: '' }
    }
    componentDidMount() {

    }
    render() {
        if (typeof this.props.按钮类型 == 'undefined') {
            throw new Error('没有指定按钮类型')
        }
        if (this.props.按钮类型 == 按钮类型.关闭按钮) {
            return (
                <R图标按钮
                    按钮风格={按钮类型.关闭按钮}
                    自定义按钮样式={this.props.自定义按钮样式}
                    自定义图标样式={this.props.自定义图标样式}
                    宽度="25px"
                    图标='icon-guanbi'
                    单击={this.props.关闭}
                    按下快捷键={this.props.按下快捷键}
                    />
            )
        }
        if (this.props.按钮类型 == 按钮类型.最小化按钮) {
            return (
                <R图标按钮
                    按钮风格={按钮类型.最小化按钮}
                    自定义按钮样式={this.props.自定义按钮样式}
                    自定义图标样式={this.props.自定义图标样式}
                    宽度="25px"
                    图标='icon-zuixiaohua'
                    单击={this.props.最小化}
                    按下快捷键={this.props.按下快捷键}
                    />
            )
        }

        if (this.props.按钮类型 == 按钮类型.还原按钮) {
            return (
                <R图标按钮
                    按钮风格={按钮类型.还原按钮}
                    自定义按钮样式={this.props.自定义按钮样式}
                    自定义图标样式={this.props.自定义图标样式}
                    宽度="25px"
                    图标= {this.state.还原按钮图标 ? this.state.还原按钮图标 : 'icon-huanyuan' }
                    单击={(e: React.MouseEvent) => {
                        if (this.state.还原按钮图标 == 'icon-huanyuan') {
                            this.setState({ 还原按钮图标: 'icon-zuidahua' })

                            this.props.最大化 ? this.props.最大化(e) : {}
                        } else {
                            this.setState({ 还原按钮图标: 'icon-huanyuan' })
                            this.props.还原 ? this.props.还原(e) : {}
                        }
                    } }
                    按下快捷键={this.props.按下快捷键}
                    />
            )
        }

        if (this.props.按钮类型 == 按钮类型.最大化按钮) {
            return (
                <R图标按钮
                    按钮风格={按钮类型.还原按钮}
                    自定义按钮样式={this.props.自定义按钮样式}
                    自定义图标样式={this.props.自定义图标样式}
                    宽度="25px"
                    图标= {this.state.最大化按钮图标 ? this.state.最大化按钮图标 : 'icon-zuidahua'}
                    单击={(e: React.MouseEvent) => {
                        if (this.state.最大化按钮图标 == 'icon-huanyuan') {
                            this.setState({ 最大化按钮图标: 'icon-zuidahua' })
                            this.props.还原 ? this.props.还原(e) : {}
                        } else {
                            this.setState({ 最大化按钮图标: 'icon-huanyuan' })
                            this.props.最大化 ? this.props.最大化(e) : {}
                        }
                    } }
                    按下快捷键={this.props.按下快捷键}
                    />
            )
        }
    }
}